home *** CD-ROM | disk | FTP | other *** search
-
- ****************************
- * *
- * TUNIX V1.0 *
- * *
- ****************************
- * Tools für Programmierer *
- * und effiziente *
- * Festplattenbenutzung *
- ****************************
-
-
- TUNIX ist in Bedienung und 'Philosophie' meinem PD-Programmpaket LINGUIX
- verwandt. Hier in TUNIX sind jedoch Programme enthalten, die zum
- Textverarbeitungs-orientierten LINGUIX konzeptuell nicht passen.
-
- Hinter TUNIX verbergen sich einige schnelle, kleine, praktische Werkzeuge, die
- va. für die ST-Benutzer-Elite: für die Anhänger von Command-Line-Interpretern
- (= CLI) im Festplattenbetrieb interessant sein dürften. Einige speziellere
- Programme sind aber in erster Linie als Programmiererwerkzeuge geeignet.
-
- Leute, die zur 'Elite' zählen wollen, aber noch nicht können, finden mit meiner
- Einführung 'TTP_KURS.DOC' vielleicht einen Einstieg. Zudem kann ich den Public
- Domain CLI GULAM, als universal geeignete Shell, wärmstens empfehlen.
-
- TUNIX ist in TURBO C 1.1 auf TOS 1.3 programmiert. Die meisten Programme werden
- vermutlich auch auf TOS 1.4 problemlos laufen.
-
- TUNIX V1.0 ist public Domain.
-
-
-
- TUNIX V1.0 enthält folgende Programme:
-
- ARCH Gezielte Archivierung neuer Dateien und Archivbitmanipulation
- AUTBATCH Flexiblere Abarbeitung des Auto-Ordners
- DATTIM90 Automatische Datumseinstellung (Eingabe nur bei Bedarf)
- DUMP Datei-Dump-Funktion (schneller read-only Disk-Monitor)
- FIND Ausgreifende Suche nach Dateien mit bestimmten Namensteilen
- GETCLM Ausfiltern einzelner Kolumnen aus einer Datei
- MKCMD Texte/Tabellen extrahieren und zu Kommandozeilen ergänzen
- RESET0 Reset auslösen (Festplatten-Hochfahrzeit überbrücken)
- RM_ORD Schnelles Ordner-Löschen in CLIs
- VSIZE Ausführliche Infos über Ordner
- XTOD Zahlensystem-Umrechnungs-Funktion für Wertlisten-Dateien
- ZALUM Zahlensystem-Umrechnungs-Funktion für einzelne Werte
- ZS Ausgabe des Atari-Zeichensatzes mit (Hex|Dez|Okt)-Code
-
-
-
-
-
- DOKUMENTATION
- -------------
-
-
- ------------------------------------------------------------------------------
- ARCH.TTP Gezielte Archivierung neuer Dateien und Archivbitmanipulation
- arch [-d] [-n] [-s] [-u] [-x] [ordner ... ] [-o datei]
- -d: Archivbits loeschen.
- -n: Ausgabe aller unarchivierten (Standard).
- -s: Archivbits setzen.
- -u: Archiv-Update nach a:\archiv und Archivbits setzen.
- -x: Sicherheitsabfragen abstellen.
- -o datei: Ausgabe aller unarchivierten in 'datei'.
-
- Arch eignet sich va. zur schnellen und gezielten Archivierung von
- Festplattenlaufwerken: Arch (mit Schalter -u) kopiert immer nur die Dateien
- (immer nach a:\archiv\), die sich seit der letzten Archivierung geändert haben
- oder neu hinzugekommen sind (-u). TOS führt für jede Datei ein Archivbit, das
- von guten Archivierungsprogrammen beim Archivieren jedesmal gesetzt wird. Bei
- Schreib-Zugriffen anderer Programme wird dieses Bit jedesmal gelöscht (leider
- nicht bei Anhänge-Zugriffen: TOS-Fehler?). (In GULAM sieht man das Bit beim
- List-Kommando "ls -l": Wenn es gesetzt ist, hat die betreffende Dateizeile als
- erstes Zeichen ein 'm', wenn nicht, einen Strich '-').
-
- Die übrigen Schalter von arch dienen zur Anzeige der Namen der geänderten
- Dateien (-n oder kein Schalter), dem löschen (-d) oder dem setzen (-s) dieses
- Archivbits.
-
- Arch überprüft immer alle Dateien, die sich im Dateisystem unterhalb des
- angegebnene Verzeichnisses (ordner) befinden. (Wenn kein 'ordner' angegeben
- ist, wirkt arch immer ab aktuellem Ordner). Wenn Sie ein Dateisystem mit den
- Laufwerken c: d: e: f: besitzen, dann schreibt ihnen z.B. der Befehl
- arch c: d: e: f: -o f:\out
- die Namen aller neuen oder geänderten Dateien ihres gesamten Dateisystems in
- die Datei f:\out. (Schalter -o ist nur bei -n oder keinem Schalter sinnvoll).
- Arch stellt bei den Schaltern -d -s und -u eine Sicherheitsabfrage, ob die
- Archivbits tatsächlich verändert bzw. ob archiviert werden soll. Mit -x läßt
- sich diese Sicherheitsabfrage unterdrücken (für prozedurale Anwendungen).
-
- Die eigentliche Archivierung (-u) kopiert alle angesprochenen unarchivierten
- Dateien immer nach a:\archiv\. ACHTUNG: Dieses Archiv enthält keine
- Unterverzeichnisse, dh. im bearbeiteten Dateisystembaum sollte jeder einfache
- Dateiname nur einmal vorkommen: gleichnamige Dateien auf unterschiedlichen
- Pfaden überschreiben sich in a:\archiv gegenseitig. Dies ist der einzige
- Nachteil des Verfahrens. Arch ist deshalb auch kaum für das jährliche
- Voll-Backup geeignet, sondern vor allem für die täglich/wöchentliche
- Zwischensicherung.
-
- Wenn a:\archiv voll ist, bricht arch ab. Legen Sie dann eine neue Disk in
- Laufwerk a:, erzeugen den Ordner 'archiv' und wiederholen den arch-Befehl:
- weiter geht's bei der Datei, die nicht mehr ins vorige Archiv gepaßt hat.
-
- Arch komprimiert die Dateien nicht. Hierfür gibt es bereits gute Programme.
- Arch ist jedoch außerordentlich schnell: In wenigen Minuten hat man gezielt die
- Arbeit der letzten Zeit gesichert; mit einem einzigen Befehl:
- arch -u -x c: d: e: f: [ g: ...]
-
-
- ------------------------------------------------------------------------------
- AUTBATCH.PRG Flexiblere Abarbeitung des Auto-Ordners
-
- Wenn einem die unmögliche Methode des TOS bei der Reihenfolge der Abarbeitung
- des Autoordners stinkt, dann bietet autbatch Abhilfe. Autbatch wertet eine
- Text-Datei auto.bat aus, die sich ebenfalls im Autoordner befinden muß. Die
- Datei auto.bat enthält zeilenweise die kompletten Pfadnamen der Programme, die
- beim Systemstart abgearbeitet werden sollen, z.B:
-
- c:\bin\qmouse.prg
- c:\bin\night.prg
- #c:\bin\fselect.prg derzeit auskommentiert
- c:\bin\dattim90.prg
-
- Natürlich bestimmt dabei die Reihenfolge der Programmnamen die Reihenfolge der
- Abarbeitung; und nicht das Dateidatum (TOS). Es müssen keine Dateien mehr hin
- und her kopiert werden.
-
- Kommentarzeilen in auto.bat sind möglich: Sie beginnen mit einem Doppelkreuz
- (#) immer in der ersten Spalte der Kommentarzeile.
-
-
- ------------------------------------------------------------------------------
- DATTIM90.TTP Automatische Datumseinstellung (Eingabe nur bei Bedarf)
- dattime [-c] [-d] [-i]
-
- datim90 mit Schalter -i fordert in jedem Fall zur Eingabe von Datum / Uhrzeit
- auf.
- Ohne Schalter -i wird immer erst das Datum des Tastaturprozessors überprüft.
- Wenn dieses neuer als das TOS-Datum ist (Warmstart), wird es automatisch
- übernommen. Andernfalls fordert datim90 zur Neueingabe von Datum (-d) oder
- Uhrzeit (-t) oder beidem auf (weder -d noch -t oder beide zugleich).
-
- VERWENDUNG: dattim90 ist m.W. nur für Rechner ohne Batterieuhr interessant: Der
- Befehl "datim90 -d" steht in meiner GULAM-Start-Up-Datei gulam.g.
- dattim90.ttp kann aber auch als dattim90.prg im Auto-Ordner verwendet werden.
- Hier natürlich ohne Schalteroptionen.
-
- dattim90 vergibt bei der manuellen Eingabe automatisch das Jahr 1990. Das
- mitgelieferte dattim91 vergibt 1991. Wer 1992 noch lebt, der kann sich die
- erforderliche Version mit einem Diskmonitor anhand der Differenz vielleicht
- selbst erpatchen.
-
-
- ------------------------------------------------------------------------------
- DUMP.TTP Datei-Dump-Funktion (schneller read-only Disk-Monitor)
- dump [-d] [-x] [-s] [-P] DATEI [ DATEI ...] [-o datei]
- -d Dezimaldump
- -x Hexadezimaldump
- -P direkt auf Drucker ausgeben
- -s Ohne Schalter -s werden die ASCII-Zeichen über 126 in der
- Ausgabe als Punkt '.' wiedergegeben (damit die Ausgabedatei
- ohne Probleme gedruckt werden kann. -s führt zu einer
- adäquaten Wiedergabe dieser (-s) Sonderzeichen.
- -o datei Ausgabe in datei statt auf Bildschirm.
-
- Die Ausgabe von Dump ist anders formatiert als in Disk-Monitoren üblich. Ich
- finde es aber auch so mal recht nützlich: Die Zeichen stehen jeweils direkt
- über ihrem Code. Die Ausgabe auf den Bildschirm wartet nach jeder vollen
- Bildschirmseite auf Tastendruck. Abbruch ist durch CONTROL-C möglich.
-
-
- ------------------------------------------------------------------------------
- FIND.TTP Ausgreifende Suche nach Dateien mit bestimmten Namensteilen
- find PATTERN [ordner ordner ...] [-o datei]
- PATTERN: Muster des gesuchten Dateinamens (immer 1. Parameter)
- -t Alle Dateinamen ausgeben (alternativ zu PATTERN)
- ordner: Suche ab Verzeichnis ordner.
- -o datei: Ausgabe aller gefundenen Dateien in 'datei'.
- Wie auch arch.ttp untersucht find.ttp nur den Teil des Dateisystembaums, der
- sich ab und unter den/dem angegebenen Verzeichnis(sen) 'ordner' befindet: Ist
- f:\txt\ angegeben, findet "find kleist f:\txt" alle Dateien ab f:\txt\, in
- deren Name der String kleist vorkommt, z.B f:\txt\kleist.doc,
- f:\txt\brief\kleist_10.bak; nicht jedoch f:\kleist oder f:\docs\kleist.brf.
-
- Ist kein 'ordner' angegeben, sucht find ab aktuellem Verzeichnis.
-
- Mit "find -t a: b: c: d: e: f: g: [...]" erhalten Sie eine Ausgabe, die alle
- Dateien Ihres Systems mit ihrem absoluten Pfadnamen enthält.
-
-
- ------------------------------------------------------------------------------
- GETCLM.TTP Ausfiltern einzelner Kolumnen aus einer Datei
- (get-column)
- getclm -'ziffer'['ziffer'...] DATEI [ DATEI ...] [-o datei]
- -'ziffer' ziffer 0-9: 0 für erste Kolumne, 1 für zweite, ...
- DATEI Spacegetrennte Kolumnen 'ziffer' werden ausgegeben.
- -o datei Ausgabe in datei statt auf Bildschirm.
-
- Beispiel: getclm -034 file -o clm.out
- Dieser Befehl holt die erste, vierte und fünfte Kolumne jeder Zeile aus der
- Datei file und schreibt sie in die Datei clm.out. Jede Kolumne ist in der
- Ausgabedatei durch ein Leerzeichen von der nächsten getrennt.
- In der Eingabe-DATEI bedeutet 'Kolumne' alle sichtbaren Zeichen(folgen), die
- zwischen beliebig vielen Space-Zeichen (Blank,Tab) stehen. Wenn eine Zeile mit
- Space beginnt, dann zählt das erste sichtbare Zeichen bereits zur Kolumne 2
- (Nr.1). Als höchste Kolumne kann die 10te angegeben werden (Nr.9).
-
-
- ------------------------------------------------------------------------------
- MKCMD.TTP Texte/Tabellen extrahieren und zu Kommandozeilen ergänzen
- (make-command)
- mkcmd [-'zahl'] [-f] [-l] [-p [-\]] [-v'CMD'] [-ha|c'PARAM'] DATEI [...]
- -'zahl' Space-Getrennte DATEI-Kolumnenummer von Wort (Def:1).
- -f Dateinamen aus DATEI-Text herausfiltern.
- -l Ganze Zeile aus DATEI-Text weiterverwenden.
- -p Pfadnamen aus DATEI-Text herausfiltern.
- -\ Pfadnamen immer mit \ abschließen.
- -v'CMD' Einfüge-Zeichenkette vor Blank und Listenwort.
- -ha'PARAM' Anhänge-Zeichenkette hinter Blank und Listenwort.
- -hc'PARAM' Cat-Zeichenkette direkt hinter Listenwort.
- -o datei Ausgabe in datei statt auf Bildschirm.
-
- -'zahl', -f, -l und -p sind alternativ.
-
- mkcmd tut zweierlei: erstens extrahiert es je Zeile einen positionell
- bestimmbaren String (Wort) aus der Eingababedatei. Zweitens hängt es in der
- Ausgabe vor und/oder hinter diesem Wort je einen angebbaren String an: So
- können gleichförmige Kommandozeilen oder andere Tabellen über je ein
- unterschiedliches Wort automatisch generiert werden.
-
- EXTRAHIEREN:
- Ohne Schalter gibt mkcmd das erste Wort jeder Zeile von Datei aus. Mit Schalter
- -2 jedes zweite, mit -3 jedes dritte .... Worte sind für mkcmd alle
- zusammenhängenden sichtbaren ASCII-Zeichen. Worte sind also Kolumnen, die je
- durch Space(s) getrennt sind.
-
- Mit Schalter -l 'filtert' mkcmd die gesamte Zeile von Datei aus. Es wird also
- hier kein Zeilenteilstring extraheriert, sondern der gesamte Zeileninhalt kann
- vorne (-v...) und/oder hinten (-h...) um einen angebbaren String ergänzt
- werden.
-
- Mit Schalter -f sucht mkcmd gezielt nach einfachen Dateinamen in Datei: Als
- solche werden erkannt: Strings, die einen Punkt, direkt umgeben von sichtbaren
- Zeichen, enthalten; und Strings, die direkt auf einen Gegenschräger '\'
- folgen. Je Zeile wird nur der letzte passende String ausgegeben.
-
- Mit Schalter -p sucht mkcmd gezielt nach relativen und absoluten Pfadnamen in
- Datei: Hier wird jedoch nur nach dem ersten in jeder Zeile gesucht. Als
- Pfadnamen werden erkannt: geschlossene Strings die einen Gegenschräger '\'
- enthalten. Wenn zusätzlich Schalter -\ gesetzt ist, wird jeder Ausgabestring
- mit einem Gegenschräger abgeschlossen.
-
- ERGÄNZEN:
- Durch "-vWORT" geben Sie mit WORT einen String an, der - durch Blank getrennt -
- vor dem aus DATEI extrahierten Wort in die Ausgabezeile geschrieben wird.
-
- Durch "-h?WORT" geben Sie mit WORT einen String an, der hinter dem aus DATEI
- extrahierten Wort in die Ausgabezeile geschrieben wird. Entweder muß direkt
- auf -h ein 'a' oder ein 'c' folgen: Durch 'a' wird das Wort - getrennt durch
- Blank - hinter den extrahierten String angehängt. Durch 'c' wird es
- concateniert, dh. direkt mit dem extrahierten String verbunden.
-
- VERWENDUNG:
- Aus listenförmigen Ausgaben anderer Programme (ls, grep, find etc) können
- automatisch neue Prozeduren generiert werden, ohne viel Tiparbeit.
-
-
- ------------------------------------------------------------------------------
- RESET0.PRG Reset auslösen (Festplatten-Hochfahrzeit überbrücken)
-
- Die resetX.prg-Programme lösen (nach unterschiedlicher Wartezeit) einfach nur
- einen Reset aus.
-
- VERWENDUNG:
- Festplattenbesitzer können mit reset0.prg billig und schnell die Wartezeit beim
- Hochfahren der Festplatte überbrücken. Einfach das Programm in ein leeres
- a:\auto\ kopieren. Wenn nun die Diskette mit \auto\reset0.prg beim nächsten
- gemeinsamen Einschalten von ST und Festplatte im Laufwerk a: liegt, dann
- startet der Rechner das Reset-Programm: nach einer gewissen Wartezeit wird der
- Reset ausgelöst und der Rechner startet erneut. Mittlerweile ist allerdings
- die Festplatte hochgefahren: Also bootet der Rechner jetzt von der
- Festplatten-Partition (falls bootfähig) und ignoriert diesmal
- a:\auto\reset0.prg.
-
- VERSIONEN:
- Die enthaltenen Versionen reset0.prg, reset2.prg und reset4.prg unterscheiden
- sich nur in der Zeit, die bis zur Auslösung des Reset vergeht: reset0.prg löst
- den Reset sofort aus, während reset2.prg und reset4.prg zunächst in eine 2 bzw.
- 4 Sekunden lange Warteschleife springen und erst danach den Reset auslösen.
- Probieren Sie selbst, welches Programm für ihre Festplatte geignet ist.
-
- ACHTUNG: Das gemeinsame Einschalten von Rechner und Festplatte kann nach
- Herstellerangaben eventuell zu Hardware-Schäden führen. Mit meiner
- Vortex HD20+ am Atari 520ST+ ist bisher nichts passiert. Garantieren
- kann ich freilich nichts.
-
-
- ------------------------------------------------------------------------------
- RM_ORD.TTP Schnelles Ordner-Löschen in CLIs
- rm_ord ordner
- Als Parameter ist ein (!) Ordner anzugeben.
-
- VERWENDUNG: Das Löschen ganzer Ordner samt Inhalt ist in einigen CLIs recht
- aufwendig: Einer der seltenen Augenblicke, in denen man sich ins GEM
- zurücksehnt. rm_ord schließt diese CLI-Komfortlücke.
-
-
- ------------------------------------------------------------------------------
- VSIZE.TTP Ausführliche Infos über Ordner
- vsize ordner [ ordner ... ]
-
- vsize gibt in je einer Zeile Informationen über die angegebenen Ordner aus.
- Die Abkürzungen der Ausgabetabelle bedeuten:
- DB: Anzahl der tatsächlichen Datenbytes von Ordner
- mbB: " " minimal belegten Bytes durch Ordner auf Laufwerk
- Cl: " " belegten Cluster
- D: " " enthaltenen Dateien
- V: " " enthaltenen Dateiverzeichnisse (Unterordner)
-
-
- ------------------------------------------------------------------------------
- XTOD.TTP Zahlensystem-Umrechnungs-Funktion für Wertlisten-Dateien
-
- xtod [-k*] [-qo|d|x] [-t*|-b] [-zo|d|x] DATEI [DATEI ...] [-o datei]
-
- -k* Auf -k folgt das Zeichen für Kommentaranfang.
- -qo|d|x Quelle ist o(oktal) | d(dezimal) | x(hexadez.) (Def:x).
- -t* Auf -t folgt Zeichen für den Werte-Trenner (Def:',').
- -b Werte-Trenner ist Leerzeichen (ASCII 32).
- -zo|d|x Ziel ist o(oktal) | d(dezimal) | x(hexadez.) (Def:d).
- -o datei Ausgabe in datei statt auf Bildschirm.
- DATEI EingabeDATEI: Trenner/Return-getrennte Werteliste.
-
- Wenn eine größere Menge von Zahlenwerten, die in einer Datei stehen, in ein
- anderes Zahlensystem umgerechnet werden muß, dann ist xtod geeignet. Beispiel:
-
- Die gulam Kommandozeile "xtod -qx -zd '-k*' printer.hex" konvertiert in wenigen
- Sekunden eine 1ST_WORD-Druckertabelle printer.hex in eine Liste von
- entsprechenden dezimalen Werten.
-
-
- ------------------------------------------------------------------------------
- ZALUM.TTP Zahlensystem-Umrechnungs-Funktion für einzelne Werte
- zalum [b][d][h][o] WERT
- b, d, h und o geben an, in welchem Zahlensystem der folgende WERT gesetzt ist.
- zalum interpretiert diesen WERT und gibt ihn in den vier Zahlensystemen aus:
- Der Befehl "zalum h 4ff" erzeugt die Ausgabe:
- Binär: 10011111111
- Oktal: 2377
- Dezimal: 1279
- Hexadezimal: 4FF
- Wenn ein Zeichen von WERT nicht zum davor angegebenen Zahlensystem paßt (zB.
- "zalum o 349"), erfolgt eine Fehlermeldung.
- Achtung: vor b, d, h und o ist nicht der für Schalter sonst übliche
- Bindestrich anzugeben.
- Wenn Sie mehrere Werte umrechnen wollen, verwenden Sie xtod.ttp
-
-
- ------------------------------------------------------------------------------
- ZS.TTP Ausgabe des Atari-Zeichensatzes mit (Hex|Dez|Okt)-Code
- zs [-d] [-x] [-k] [-o datei]
- -d: Zeichensatzausgabe mit Dezimalcode (Standard).
- -k: Zeichensatzausgabe mit Oktalcode.
- -x: Zeichensatzausgabe mit Hexadezimalcode.
- -o datei Ausgabe in datei statt auf Bildschirm.
-
-
-
-
-
- München, November 1989
-
- Hans Kaufmann, Einsteinstr. 151, 8 München 80
-